# SPDX-License-Identifier: GPL-2.0-only
#
# CAIF physical drivers
#

menuconfig CAIF_DRIVERS
	bool "CAIF transport drivers"
	depends on CAIF
	help
	  Enable this to see CAIF physical drivers.

if CAIF_DRIVERS

config CAIF_TTY
	tristate "CAIF TTY transport driver"
	depends on CAIF && TTY
	default n
	help
	  The CAIF TTY transport driver is a Line Discipline (ldisc)
	  identified as N_CAIF. When this ldisc is opened from user space
	  it will redirect the TTY's traffic into the CAIF stack.

config CAIF_SPI_SLAVE
	tristate "CAIF SPI transport driver for slave interface"
	depends on CAIF && HAS_DMA
	default n
	help
	  The CAIF Link layer SPI Protocol driver for Slave SPI interface.
	  This driver implements a platform driver to accommodate for a
	  platform specific SPI device. A sample CAIF SPI Platform device is
	  provided in <file:Documentation/networking/caif/spi_porting.rst>.

config CAIF_SPI_SYNC
	bool "Next command and length in start of frame"
	depends on CAIF_SPI_SLAVE
	default n
	help
	  Putting the next command and length in the start of the frame can
	  help to synchronize to the next transfer in case of over or under-runs.
	  This option also needs to be enabled on the modem.

config CAIF_HSI
	tristate "CAIF HSI transport driver"
	depends on CAIF
	default n
	help
	  The CAIF low level driver for CAIF over HSI.
	  Be aware that if you enable this then you also need to
	  enable a low-level HSI driver.

config CAIF_VIRTIO
	tristate "CAIF virtio transport driver"
	depends on CAIF && HAS_DMA
	select VHOST_RING
	select VIRTIO
	select GENERIC_ALLOCATOR
	default n
	help
	  The CAIF driver for CAIF over Virtio.

endif # CAIF_DRIVERS
